返回倒数第 k 个节点
02. 返回倒数第 k 个节点
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
示例
输入: 1->2->3->4->5 和 k = 2
输出: 4
代码
const head = {
val: 1,
next: {
val: 2,
next: {
val: 3,
next: {
val: 4,
next: {
val: 5,
next: undefined
}
}
}
}
}
var k = 2
var kthToLast = function (head, k) {
// 声明快慢指针
let fast = head
let slow = head
// 获取正序的目标
while (k-- > 0) {
fast = fast.next
}
// 根据正序获取反序的目标
while (fast) {
fast = fast.next
slow = slow.next
}
return slow.val
}
console.log(kthToLast(head, k))
// 4